import { defineConfig } from 'vite'
import { fileURLToPath, URL } from 'node:url'
import tailwindcss from '@tailwindcss/vite'
import react from '@vitejs/plugin-react'
import viteCompression from 'vite-plugin-compression';
// https://vite.dev/config/
export default defineConfig({
  base: './',
  plugins: [react(), tailwindcss(),
  viteCompression({
    algorithm: 'gzip', // 压缩算法，可选 'gzip' 或 'brotliCompress'
    ext: '.gz', // 压缩文件后缀
    threshold: 10240, // 仅压缩大于 10KB 的文件
    deleteOriginFile: false, // 是否删除原始文件
  }),
  ],
  resolve: {
    alias: {
      "@": fileURLToPath(new URL('./src', import.meta.url))
    }
  },
  build: {
    outDir: '数字化管理系统大屏', // 输出目录
    assetsDir: 'assets', // 静态资源目录
    sourcemap: false, // 生产环境禁用 Source Map
    minify: 'terser', // 使用 Terser 压缩代码
    terserOptions: {
      compress: {
        drop_console: true, // 移除所有 console.log
        drop_debugger: true, // 移除 debugger
      },
      format: {
        comments: false, // 移除注释
      },
    },
    chunkSizeWarningLimit: 1500, // 调整 chunk 大小警告阈值（单位 KB）
    rollupOptions: {
      output: {
        manualChunks: {
          // 手动拆分包
          react: ['react', 'react-dom'], // 将 React 拆分为单独 chunk
        },
      },
    },
  },
})
